﻿using Presentacion.Clases.Dto;
using Presentacion.Clases;
using Seg.Entidades;
using Seg.Logica;
using System;
using System.Collections.Generic;
using System.Text;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace Presentacion.Controllers.Mantenimiento
{
    public class ConsultaController : Base
    {
        //
        // GET: /Consulta/

        public ActionResult Index()
        {
            return View();
        }
        public ActionResult UsuarioPerfil()
        {
            return View();
        }


        public JsonResult ListarPerfilXSistemaJQGRID(int CodigoSistema,int CodigoPerfil,int CodigoOficina,string nombre, string anulado, string sidx, string sord, int page, int rows)
        {
            List<SEGSS_CONSULTAR_PERFILUSUARIO_Result> listaUsuario = new PerfilUsuarioOficinaLogica().ListarPerfilUsuario(CodigoSistema,CodigoPerfil,CodigoOficina,nombre,anulado);

            var count = listaUsuario.Count();
            int pageIndex = page - 1;
            int pageSize = rows;
            int totalRecords = count;
            int totalPages = (int)Math.Ceiling((float)totalRecords / (float)pageSize);

            var items = listaUsuario.Skip(pageIndex * pageSize).Take(pageSize);

            var result = new
            {
                total = totalPages,
                page,
                records = count,
                rows = (
                    from item in items
                    select new
                    {
                        id = item.CodigoPerdilUsuario,
                        cell = new string[] { 
                            item.CodigoPerdilUsuario.ToString(),
                            item.CodigoUsuario.ToString(),
                            item.NombreUsuario,
                            item.CodigoOficina.ToString(),
                            item.NombreOficina,
                            item.CodigoPerfil.ToString(),
                            item.NombrePerfil,
                            item.CodigoModulo.ToString(),
                            item.NombreModulo,
                            item.CodigoSistema.ToString(),
                            item.NombreSistema,
                            Convert.ToString(item.AnuladoPerfil == true ? "Inactivo" : "Activo") 
                        }
                    }).ToArray()
            };
            return Json(result, JsonRequestBehavior.AllowGet);
        }
    }
}
